package org.IT_2;


//import Dominio_Analisis.LeerPulsera;
import java.util.Vector;

public class Pulsera {
	//ATRIBUTOS
	private int id_pulsera;
	private double gasto_acumulado = 0;
	private double gasto_maximo;
	private int viajes_acumulado = 0;
	private int viajes_maximo;
	private Vector<Producto> listaproductos = new Vector<Producto>();
	public Cliente cliente;

	//METODOS
	
	//crear pulsera nueva
	public Pulsera(int id_pulsera, double gasto_maximo, int viajes_maximo, Cliente cliente){
		this.id_pulsera=id_pulsera;
		this.gasto_maximo=gasto_maximo;
		this.viajes_maximo=viajes_maximo;
		this.cliente=cliente;
	}

	//obtener pulsera base de datos	
	public Pulsera(int id_pulsera, double gasto_acumulado,double gasto_maximo, int viajes_acumulado, int viajes_maximo,/* Vector<Producto> listaproductos,*/Cliente cliente){
		this.id_pulsera=id_pulsera;
		this.gasto_acumulado=gasto_acumulado;
		this.gasto_maximo=gasto_maximo;
		this.viajes_acumulado=viajes_acumulado;
		this.viajes_maximo=viajes_maximo;
		this.listaproductos=listaproductos=new Vector<Producto>();
		this.cliente=cliente;
	}
	
	public int get_id_pulsera() {
		//throw new UnsupportedOperationException();
		return this.id_pulsera;
	}

	public void set_id_pulsera(int id_pulsera) {
		//throw new UnsupportedOperationException();
		this.id_pulsera=id_pulsera;
	}

	public String get_dni() {
		//throw new UnsupportedOperationException();
		return this.cliente.get_dni();
	}

	public void set_dni(String dni) {
		//throw new UnsupportedOperationException();
		this.cliente.set_dni(dni);
	}

	public boolean sumar_viaje() {
		//throw new UnsupportedOperationException();
		boolean devolver=false;
		if(this.viajes_maximo<this.viajes_acumulado){
			this.viajes_acumulado++;
			devolver=true;
		}
		return devolver;
	}

	public int get_viajes_acumulado() {
		//throw new UnsupportedOperationException();
		return this.viajes_acumulado;
	}

	public void set_viaje_maximo(int viaje_maximo) {
		//throw new UnsupportedOperationException();
		this.viajes_maximo=viaje_maximo;
	}

	public int get_viajes_maximo() {
		//throw new UnsupportedOperationException();
		return this.viajes_maximo;
	}

	public void set_gasto_acumulado(Producto producto) {
		//throw new UnsupportedOperationException();
		this.gasto_acumulado=this.gasto_acumulado + producto.get_precio();
	}

	public double get_gasto_acumulado() {
		//throw new UnsupportedOperationException();
		return this.gasto_acumulado;
	}

	public void set_gasto_maximo(double gasto_maximo) {
		//throw new UnsupportedOperationException();
		this.gasto_maximo=gasto_maximo;
	}

	public double get_gasto_maximo() {
		//throw new UnsupportedOperationException();
		return this.gasto_maximo;
	}

	public void meter_en_lista(Producto producto) {
		//throw new UnsupportedOperationException();	
		this.listaproductos.addElement(producto);		
	}
	
	public void eliminar_cliente() {
		//throw new UnsupportedOperationException();
		this.cliente=null;
	}

	public Vector<Producto> get_listaproductos(){
		return this.listaproductos;
	}

}